import {type App,type Component} from 'vue'
// 引入项目中全部的全局组件
import SvgIcon from '@/components/SvgIcon/index.vue'
import Pagination from '@/components/Pagination/index.vue'
import Category from './Category/index.vue'
// 全局组件对象
const allGlobComponent:Component={SvgIcon,Pagination,Category}
// 引入element-plus提供的全部图标
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

// 对外暴露插件对象
export default{
    // 务必叫做install方法，app实例会自动注入
    install(app:App){
        // 注册项目中全部的全局组件
        Object.keys(allGlobComponent).forEach(key=>{
            // 注册全局组件
            app.component(key,allGlobComponent[key])
        })
        // element-plus提供的图标注册为全局组件
        // 直接通过图标名字标签使用 <Plus/>
        for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
            app.component(key, component)
        }
    }
}